# -*- coding: utf-8 -*-
from django import forms
from django.contrib import auth


class LoginForm(forms.Form):
    """ Форма логина для главного меню """
    user_login = forms.CharField(max_length=30, widget=forms.TextInput, label=u'Логин')
    user_password = forms.CharField(widget=forms.PasswordInput, label=u'Пароль')
    
    
    def clean(self):
        if 'user_login' in self.cleaned_data and 'user_password' in self.cleaned_data:
            user = auth.authenticate(username=self.cleaned_data['user_login'],
                                     password=self.cleaned_data['user_password'])
            if user is None:
                raise forms.ValidationError(u'Пользователь с таким логином и паролем не найден.')
        return self.cleaned_data



class NameField(forms.RegexField):
    """ Поле для ввода имени, допускает ввод только русских
        и латинских букв, пробела, точки, тире и апострофа """
    def __init__(self, error_message=u'Допустимые символы: [A-zА-я \'.-].', *args, **kwargs):
        super(NameField, self).__init__(regex=ur'^[0-9\u0041-\u005A\u0061-\u007A\u0410-\u044F\u0401\u0451\-\.\' ]*$',
                                        error_message=error_message, *args, **kwargs)
        